﻿using Itau.IM.Common.Mainframe.Book;
using Itau.IM.Carimbador.EntityObject;
using System.Collections.Generic;

namespace Itau.IM.Carimbador.Contract
{
    /// <summary>
    /// Classe de resposta da operação ConsultarIrregular
    /// </summary>
    [BookClass(62187)]
    public class ConsultarTaxaTransferPriceResponse
    {
        #region Propriedades

        [BookNumberField(1, 8)]
        public int CodigoPrimeiraCurva { get; set; }

        [BookNumberField(9, 5)]
        public int CodigoMesaOperacaoPrimeiraCurva { get; set; }

        [BookNumberField(14, 5)]
        public int CodigoSubMesaOperacaoPrimeiraCurva { get; set; }

        [BookNumberField(19, 5)]
        public int CodigoCategoriaMercadoPrimeiraCurva { get; set; }

        [BookCollectionField(24, typeof(BookObjectFieldAttribute), typeof(TaxaClienteEO), 10, "000000000000000000000000000000000000")]
        public List<TaxaClienteEO> TaxasPrimeiraCurva { get; set; }

        [BookNumberField(384, 8)]
        public int CodigoTerceiraCurva { get; set; }

        [BookNumberField(392, 5)]
        public int CodigoMesaOperacaoTerceiraCurva { get; set; }

        [BookNumberField(397, 5)]
        public int CodigoSubMesaOperacaoTerceiraCurva { get; set; }

        [BookNumberField(402, 5)]
        public int CodigoCategoriaMercadoTerceiraCurva { get; set; }

        [BookCollectionField(407, typeof(BookObjectFieldAttribute), typeof(TaxaClienteEO), 10, "000000000000000000000000000000000000")]
        public List<TaxaClienteEO> TaxasTerceiraCurva { get; set; }

        [BookNumberField(767, 1)]
        public int FlagUtilizacaoCurvaDefault { get; set; }

        [BookNumberField(768, 4)]
        public int QuantidadeParcelas { get; set; }

        [BookCollectionField(768, typeof(BookObjectFieldAttribute), typeof(ValorParcelaEO), 500, "000000000000000000000000000000000000000000000000000000", true, "0000")]
        public List<ValorParcelaEO> Parcelas { get; set; }

        [BookObjectField(31001)]
        public ConsultarControle AreaControle { get; set; }


        #endregion Propriedades
    }
}